Rotational image generation method, program, and information storage medium and virtual camera

ABSTRACT

A model object MOB (tree) having a plurality of part objects (branches) POB 1  and POB 2  each of which has a projection shape is arranged in an object space. Each of the POB 1  and POB 2  has a projecting portion formed on a display surface on which an image is drawn. The POB 1  and POB 2  are rotated so that the display surfaces thereof are directed toward a virtual camera VC. A Z texture for setting bump shapes on the display surfaces by pixel unit or forming a virtual projection shape on each of the display surfaces is mapped on the POB 1  and POB 2 . When the VC rotates about a Y-axis and an X-axis while being directed toward a column-shaped part object (trunk) COB, the POB 1  and POB 2  are rotated so that the display surfaces thereof are directed toward the VC.

Japanese Patent Application No. 2003-94489, filed on Mar. 31, 2003, ishereby incorporated by reference in its entirety.

BACKGROUND OF THE INVENTION

The present invention relates to an image generation method, program andinformation storage medium.

In the prior art, an image generating system (or game system) forgenerating an image visible from a virtual camera (or a given viewpoint)in an object space which is a virtual three-dimensional space is known.It is highly popular as a method by which a so-called virtual realitycan be experienced. In such an image generating system, it is desiredthat even plants including trees can realistically be represented (seeJapanese Patent Application Laid-Open No. 2002-24858).

However, a conventional L system required a complicated process togenerate images of trees (which, in a broad sense are plants).

A technique of representing a tree by fixedly arranging dome-shapedbranch part objects around the trunk part object in all directions maybe conceived. However, so many branch part objects are generated withsuch a technique that substantial storage capacity of a memory isrequired.

Another technique of representing a tree by mapping image textures ofthe tree on a flat plate-shaped polygon, which is known as “billboard”technique may also be conceived. In such a “billboard” technique,however, if the hidden surface removal is carried out by Z buffer, themoment when a flat plate-shaped polygon is positionally replaced byanother flat plate-shaped polygon will be noticeable. This will degradethe generated image.

BRIEF SUMMARY OF THE INVENTION

According to one aspect of the present invention, there is provided animage generation method for generating an image comprising:

storing object data in an object data storage section;

disposing a plurality of objects in an object space, based on the objectdata stored in the object data storage section;

controlling a virtual camera; and

generating an image viewed from the virtual camera in the object spacewhile performing hidden surface removal processing,

the method further comprising:

disposing in the object space a model object including a plurality ofpart objects each of which has a projection shape, each of the partobjects having a projecting portion formed on a display surface on whichan image is drawn; and

rotating each of the part objects based on rotational information of thevirtual camera so that the display surface of each of the part objectsis directed toward the virtual camera.

According to another aspect of the present invention, there is providedan image generation method for generating an image comprising:

storing object data in an object data storage section;

disposing a plurality of objects in an object space, based on the objectdata stored in the object data storage section;

storing a Z texture in which an offset value of a Z-value is set on eachtexel in a texture storage section;

mapping the Z texture stored in the texture storage section on each ofthe objects;

controlling a virtual camera; and

generating an image viewed from the virtual camera in the object spacewhile performing hidden surface removal processing,

the method further comprising:

disposing a model object having a plurality of part objects in theobject space;

rotating each of the part objects based on rotational information of thevirtual camera so that a display surface of each of the part objects onwhich an image is drawn is directed toward the virtual camera; and

mapping on each of the part objects the Z texture for forming a virtualprojection shape on the display surface of the part objects.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

FIG. 1 is a functional block diagram of an image generating systemaccording to an embodiment of the present invention.

FIGS. 2A and 2B illustrate a technique using a flat plate-shapedpolygon.

FIGS. 3A, 3B and 3C show examples of part objects.

FIGS. 4A and 4B illustrate a technique using projection-shaped partobjects in accordance with an embodiment of the present invention.

FIGS. 5A and 5B illustrate rotational processing about the Y-axis.

FIGS. 6A and 6B show examples of images generated when a virtual camerarotates about the Y-axis.

FIGS. 7A and 7B show examples of images generated when the virtualcamera rotates about the Y-axis.

FIGS. 8A and 8B illustrate rotational processing about the X-axis.

FIGS. 9A and 9B show examples of images generated when the virtualcamera rotates about the X-axis.

FIGS. 10A and 10B show examples of other images generated when thevirtual camera rotates about the X-axis.

FIGS. 11A and 11B show examples of images of model objects eachconfigured by a number of part objects.

FIGS. 12A and 12B show examples of images of model objects eachconfigured by a number of part objects.

FIG. 13 shows a texture-mapped image.

FIG. 14 illustrates an arrangement of part objects.

FIGS. 15A, 15B and 15C illustrate a Z-texture-mapping.

FIGS. 16A, 16B and 16C illustrate a technique of using the Z-texturemapping to represent the whole projection shape or fine bump shapes.

FIG. 17 is a flow chart illustrating an example of a process accordingto an embodiment of the present invention.

FIG. 18 is an example of object data structure.

FIG. 19 is an example of a hardware configuration.

FIGS. 20A, 20B and 20C show examples of systems in various forms.

DETAILED DESCRIPTION OF THE EMBODIMENT

Embodiments are described below.

Note that the embodiments described below do not limit the scope of theinvention defined by the claims laid out herein. Similarly, the overallconfiguration of the embodiments below should not be taken as limitingthe subject matter defined by the claims herein.

1. Configuration

FIG. 1 shows a functional block diagram of an image generating system(or game system) according to this embodiment. However, the imagegenerating system is not necessarily required to include all thecomponents (or sections) shown in FIG. 1, but may be configured to omitat least one section (e.g., a control section 160, a portableinformation storage device 194 or a communication section 196).

The control section 160 is used for a player to input operation data,and its function can be realized by any one of various hardware piecessuch as a lever, a button, a steering wheel, a shift lever, anaccelerator pedal, a brake pedal, a microphone, a sensor, a touch paneltype display and a housing.

A storage section 170 provides a work area for the processing section100 and a communication section 196, and its function being able to berealized by hardware such as RAM.

An information storage medium 180 (or a computer-readable medium) is tostore a program or data, and its function can be realized by hardwaresuch as an optical disc (CD or DVD), a magnetic optical disc (MO), amagnetic disc, a hard disc, a magnetic tape or a memory (ROM). Aprocessing section 100 is designed to perform various kinds of processesaccording to this embodiment, based on programs (or data) which havebeen stored in this information storage medium 180. In other words, theinformation storage medium 180 has stored (or recorded) a program forcausing a computer to function various sections according to thisembodiment or a program for causing a computer to execute the processingin each of the sections.

A display section 190 is to output an image generated according to thisembodiment, and its function can be realized by hardware, for example,CRT, LCD, a touch panel type display, HMD (head mount display) or thelike.

A sound output section 192 is to output a sound generated according tothis embodiment, and its function can be realized by hardware, forexample, a loud speaker, a headphone or the like.

A portable information storage device 194 is designed to store aplayer's personal data or to save data relating to a game and may be ofany form such as a memory card or a portable game device.

The communication section 196 is designed to perform various controlsfor communicating the present image generating system to any othersystem (e.g., a host device or other image generating systems), and itsfunction can be realized by hardware, for example, various processors orcommunicating ASIC or any suitable control program.

The program (or data) for causing the computer to function as therespective sections (or means) according to this embodiment may bedistributed from the information storage medium possessed by the hostdevice (or server) through a network and the communication section 196into the information storage medium 180 (or storage section 170). Use ofthe information storage medium in such a host device (or server) may bealso included within the scope of the present invention.

The processing section (or processor) 100 is designed to perform variousprocessing for game, image generation or sound generation, based on theoperation data and programs from the control section 160. The gameprocesses executed by the processing section 100 may include a processof starting the game only when a game start condition (selection of acourse, a map, a character, or number of players, or the like) issatisfied, a process of advancing the game, a process of arrangingvarious objects including the selected character and map in place, aprocess of displaying the objects, a process of computing the gameresults and a process of finishing the game only when a game terminationcondition is satisfied or other processes. The processing section 100performs various processes by using the storage section 170 as a workregion. The functions of this processing section 100 can be realized byhardware such as various processors (CPU, DSP and the like) or ASIC(gate array or the like) or a program (or game program).

The processing section 100 comprises an object space setting section110, a virtual camera control section 112, an image generating section120 and a sound generating section 130. However, at least one of thesesections may be omitted.

The object space setting section 110 arranges and sets, in an objectspace, various objects representing characters, trees, cars, columns,walls, buildings, maps (landforms) and others to be displayed (i.e.,objects each of which is configured by polygons, free-form surfaces orprimitive faces such as sub-division surfaces). That is to say, theobject space setting section 110 determines the position and rotationangle (or orientation or direction) of an object in the worldcoordinate, and arranges that object at that position (on X-, Y- orZ-axis) with that rotation angle (about X-, Y- or Z-axis).

More particularly, the object space setting section 110 reads objectdata including object positions, object rotation angles, object types(or object numbers) and the like, from the object data storage section172, and arranges a plurality of objects in the object space, based onthe read object data. In this case, the arranging of objects is realizedbased on the object data (including positions and rotation angles)expressed by the local coordinate system, various matrices forcoordinate transformation (world coordinate transformation, cameracoordinate transformation or perspective transformation) such as arotation matrix, a translation matrix, and the like.

For example, the object data may be read out of the information storagemedium 180 and loaded into the object data storage section 172 when theimage generating system is powered on. Alternatively, the object datamay be downloaded from the host device into the object data storagesection 172 through the communication section 196 and Internet (which,in a broad sense, is a network).

The object space setting section 110 also performs the movement/actioncomputation of a moving object (e.g., a motorcar, an airplane or acharacter), for example, a movement/action simulation. That is to say,the object space setting section 110 performs a process of causing themoving object to perform the movement and the action (motion oranimation) in the object space, based on the operation data inputted bythe player through the control section 160, a program (ormovement/action algorithm), various data (motion data) and others. Moreparticularly, the object space setting section 110 performs a simulationfor determining the movement information of the moving object (position,rotation angle, speed or acceleration) and the action information(position or rotation angle of each part object) sequentially, forexample, for each frame (each 1/60 second).

The virtual camera control section 112 controls a virtual camera forgenerating an image in the object space as viewed from a given (or any)viewpoint therein. That is to say, the virtual camera control section112 performs a process of controlling the position (on X-, Y- or Z-axis)or rotation angle (about X-, Y- or Z-axis) of the virtual camera (or aprocess of controlling the position or direction of the viewpoint in thevirtual camera).

For example, if a moving object is to be taken from the rear thereof bythe virtual camera, the position or rotation angle (or direction) of thevirtual camera is controlled so that it follows the changed position orrotation of the moving body. In this case, the virtual camera can becontrolled based on information for the position, rotation angle orspeed of the moving body which has been obtained by the object spacesetting section 110 (or movement/action computing section).Alternatively, the virtual camera may be rotated through a predeterminedangle while being moved along a predetermined path of movement. In sucha case, the virtual camera is controlled based on virtual camera dataused to specify the position (path of movement) and rotation angle ofthe virtual camera.

The image generating section 120 generates an image based on the resultsof various processes (game processing) performed in the image processingsection 100, the generated image being then outputted toward the displaysection 190. That is to say, if a so-called three-dimensional game imageis to be generated, the coordinate transformation (world coordinatetransformation or camera coordinate transformation), clippingprocessing, perspective transformation or geometry-processing such aslight-source computation will first be performed, the processing resultsbeing then used to create drawing data (positional coordinates of avertex in a primitive face, texture coordinates, color data, normalvector or alpha-value). And, based on this drawing data (or primitiveface data), the image of the perspective-transformed (orgeometry-processed) object (which may consist of one or more primitivefaces) is then drawn in a drawing buffer 174 (which may be a frame orwork buffer for storing the image information by pixel unit). Thus, animage may be generated in the object space as viewed from the virtualcamera (or a predetermined viewpoint).

The image generating section 120 includes a hidden surface removalsection 122. The hidden surface removal section 122 uses a Z buffer(depth buffer) 176 which has stored Z-values (or depth information) soas to perform the hidden surface removal through a Z-buffer method (ordepth comparison method).

The image generating section 120 also includes a texture mapping section124. The texture mapping section 124 is to map a texture (or texturedata) stored in a texture storage section 178 onto an object (primitiveface). More particularly, the texture mapping section 124 uses texturecoordinates or the like set (or given) to each of the vertexes of theobject (primitive face) to read a texture (or a surface property such ascolor, luminance, normal line, Z-value, alpha-value or the like) out ofthe texture storage section 178. The texture mapping section 124 thenmaps (or projects) the texture consisting of a two-dimensional image orpattern onto the object. In this case, a process of associating texelswith pixels or a bi-linear interpolation (or texel interpolation) iscarried out therein. Moreover, the texture mapping may be carried outusing a lookup table (LUT) for index color texture mapping.

The sound generating section 130 performs sound processing based on theresults of various processing at the processing section 100 to generategame sounds such as BGMs, effect sounds or voices, which are in turnoutputted toward the sound output section 192.

In this embodiment, the object space setting section 110 arranges amodel object (which, in a narrow sense, is a tree object or plantobject) formed by part objects (which, in a narrow sense, are branchobjects) in the object space. In other words, the model object is set inthe object space based on the object data. These part objects are thenrotated with their display surfaces (on each of which an image is to bedrawn or a texture is to be mapped) being directed toward the virtualcamera. This rotation may be carried out based on the rotationalinformation (rotation angle and direction) for the virtual camera.Moreover, each of the part objects is a projection-shape (convex)-object(cone-shaped, pyramid-shaped, or umbrella-shaped object) having aprojecting (convex) portion (vertex or ridgeline) formed on the side ofthe display surface on which the image is to be drawn.

More particularly, the object space setting section (or rotation controlsection) 110 rotates the part objects in the model object about theircoordinate axes as the virtual camera rotates about a given coordinateaxis. Further particularly, the object space setting section 110 rotatesthe part objects about Y-axis (vertical coordinate axis or firstcoordinate axis in the world coordinate system), based on the rotationangle of the virtual camera about the Y-axis. Moreover, the object spacesetting section 110 also rotates the part objects about X-axis(coordinate axis perpendicular to the Y-axis, or second coordinateaxis), based on the rotation angle of the virtual camera about theX-axis.

In this embodiment, a Z texture (Z texture data) in which offsetZ-values (changed values or corrected values) have been set (or stored)is stored in the texture storage section 178. The texture mappingsection 124 then reads this Z texture and maps it onto the object.

More particularly, a Z texture used to set bump shapes (which are finerthan the projection-shape of the entire part object) on the displaysurface of a part object by pixel (which is smaller than primitive faceunit) is stored in the texture storage section 178. The texture mappingsection 124 reads this Z texture, and maps it on each of the partobjects forming the model object. Alternatively, a Z texture used toform a virtual projection shape (which is obtained by adding orsubtracting offset Z-values to or from the original Z-values in a partobject) on the side of the display surface in a flat plate-shaped partobject is stored in the texture storage section 178. The texture mappingsection 124 then reads this Z texture and maps it on each of the partobjects. Alternatively, the Z textures used to form a virtual projectingportion on a part object and to set bump shapes on the display surfaceof the part object by pixel may be read out and mapped on each of thepart objects. Thus, any blink at an intersection between adjacent partobjects will not be noticeable.

The image generating system of this embodiment may be dedicated for asingle-player mode in which only a single player can play a game or mayhave a multi-player mode in which a plurality of players can play a gamesimultaneously, in addition to such a single-player mode.

If a plurality of players play the game, a single terminal may be usedto generate game images and game sounds to be provided to these pluralplayers. Alternatively, these game images and sounds may be generatedthrough a plurality of terminals (game machines or cellular phones)which are interconnected through a network (or transmission line,telecommunication line).

2. Techniques According to this Embodiment

The techniques in this embodiment will now be described with referenceto the drawing.

2.1. Representation of Tree by Projection-Shaped Part Objects

One of the techniques of representing trees (or plants) is conceivableto be a technique as referred to as billboard. In such a technique, asshown in FIG. 2A, a texture of tree image is mapped on flat plate-shapedpolygons PL1 and PL2 which are always faced directly to the front of thevirtual camera VC.

In this technique, however, if the position and rotation angle (ordirection) of the virtual camera VC are changed as shown by A1 to A2 inFIG. 2A, the moment at which the positional relationship between thepolygons PL1 and PL2 is inverted will be noticeable, as shown by A3 andA4 in FIG. 2B. That is to say, the Z-buffer method performs the hiddensurface removal based on the Z-values (or depth values). And, at A1 ofFIG. 2A, the Z-values of PL1 and PL2 indicate that PL1 is locatedforward of PL2 whereas at A2, the Z-values of PL1 and PL2 indicate thatPL2 is located forward of PL1. Thus, such an instantaneous inversion asshown by A3 and A4 in FIG. 2B will be noticeable. Thus, a player willnotice that a tree is represented by plate-shaped polygons PL1 and PL2.This raises a problem in that a high-quality image could not begenerated.

In this embodiment, thus, such a problem is overcome by representing abranch of a tree (or model object) by use of such an umbrella-shapedpart object POB as shown in FIG. 3A. That is to say, a branch object isrepresented by use of a part object POB of projection shape that has aprojecting portion PV formed on the side of the display surface on whichan image is to be drawn (or a texture is to be mapped). Moreparticularly, the branch is represented by a centrally raised conical orpyramid-shaped part object POB (but the bottom of the cone or pyramidbeing removed). Such a POB is formed by a plurality of primitive faces(triangular polygons) sharing a vertex (or projecting portion PV).

As shown by B1, B2 and B3 of FIG. 4A, the part objects (branches) POB1and POB2 forming a model object (tree) MOB are rotated so that thedisplay surfaces on which images are to be drawn (or the side ofprojecting portions PV1 and PV2) are always directed toward the virtualcamera VC or so that an imaginary bottom face of each cone or pyramid isdirected directly to the face of the virtual camera VC.

Thus, as shown by B4 in FIG. 4B, the hidden surface removal in theZ-buffer method can effectively be utilized so that the positionalrelationship between the adjacent part objects POB1 and POB2 willsmoothly be inverted, since they merge into each other even though theyoverlap.

That is to say, at A3 and A4 in FIG. 2B, the positional relationshipbetween PL1 and PL 2 is instantaneously inverted. However, in FIG. 4B,the positional relationship between POB1 and POB2 is gradually invertedwhile gradually changing the shape of an intersection boundary lineshown at B4. Thus, the player will not notice that the tree branch isrepresented by simple part objects POB1 and POB2. As a result, ahigh-quality image can be generated with smaller amount of data.

For example, as a technique different from that of this embodiment, itis also conceivable to take a technique of fixedly arranging such a partobject POB as shown in FIG. 3A in all directions without depending onthe position of the virtual camera VC. In such a technique, however, thenumber of polygons in the model object representing the tree willincrease since it is necessary to arrange a plurality of part objectsPOB having such a shape as shown in FIG. 3A around the tree trunk in alldirections.

On the contrary, according to the technique of this embodiment, it willnot be required that the branch part objects are arranged around thetree trunk in all directions since the branch part object is rotated sothat the display surface thereof is directed toward the virtual cameraVC as shown in FIG. 4A. Thus, a high-quality image which could not berealized by such a technique as described in connection with FIGS. 2Aand 2B can be generated while minimizing the number of polygons(primitive faces) in the model object.

The shape of the part object POB is not limited to such a shape as shownin FIG. 3A. For example, the shape of the part object POB may be of coneshape rather than such a pyramid shape as shown in FIG. 3A. Moreover,the shape of the part object POB may have a plurality of projectingportions or vertexes as shown in FIG. 3B. Alternatively, the shape ofthe part object POB may be of mountain-like angled shape havingridgelines as projecting portions as shown in FIG. 3C.

2.2. Rotation

Next, the concrete rotation of part object will be described. In thisembodiment, as shown in FIG. 5A, the model object MOB representing atree comprises a part object POB representing a branch and acolumn-shaped or substantially column-shaped part object COBrepresenting a trunk.

The column-shaped part object COB is disposed in the object space tostand along the vertical Y-axis. The part object POB is also arranged ata position spaced apart from the central axis CA of the column-shapedpart object COB. More particularly, the part object POB is disposed at aposition spaced apart from the central axis CA and also in which it willnot overlap the part object COB.

As shown in FIGS. 5A and 5B, the object space setting section 110rotates the part object POB about the Y-axis so that the display surface(or projecting portion PV) thereof will be directed toward the virtualcamera VC as the virtual camera VC rotates about the Y-axis (or pannedabout the central axis CA) while being directed toward the column-shapedpart object COB (POB). That is to say, the part object POB is rotatedabout the central axis CA following the rotation of the virtual cameraVC. For example, if the virtual camera VC rotates about the Y-axis by arotation angle θY, the part object POB is also rotated about the Y-axisby the rotation angle θY. On the other hand, the column-shaped partobject COB representing the trunk will not be rotated.

For example, if the positional relationship between the model object MOBformed by the part objects POB1, POB2 and COB and the virtual camera VCis as shown in FIG. 6A, such an image (view image) as shown in FIG. 6Bwill be generated. And, if the virtual camera VC rotates from theposition of FIG. 6A about the Y-axis or panned while being directedtoward the model object MOB, as shown in FIG. 7A, such an image as shownin FIG. 7B will be generated.

That is to say, according to this embodiment, it can provide an improvedthree-dimensional picture in which the part objects POB1 and POB2 can beviewed as if each is a three-dimensional object without opening sincethe display surfaces (or projecting portions) of the part objects POB1and POB2 are always directed toward the virtual camera VC. Moreover,even if the virtual camera VC rotates 360 degrees around MOB while beingdirected toward MOB (or even if the VC rotates 360 degrees about a givencoordinate axis), the part objects POB1 and POB2 are located just beforethe column-shaped part object COB representing the trunk to hide theCOB. Therefore, only two part objects POB1, POB2 can be used to providea picture in which the branches (POB 1, POB 2) can be viewed as if theyextend around the trunk (COB) in all directions. As a result, a morerealistic and natural image can be generated by use of less primitivefaces.

As shown in FIGS. 8A and 8B, the part object POB is rotated about theX-axis so that the display surface (or projecting portion PV) will bedirected toward the virtual camera VC as the virtual camera VC rotatesabout the X-axis (which is perpendicular to the Y-axis) while beingdirected toward the column-shaped part object COB (POB). That is to say,if the virtual camera VC rotates about the X-axis by a rotation angleθX, the part object POB is also rotated about the X-axis by the rotationangle θX.

For example, if the virtual camera VC rotates about the X-axis to changethe relationship between the VC and the model object MOB shown in FIG.6A to such a positional relationship as shown in FIG. 9A (or apositional relationship in which the virtual camera VC looks down at MOBwith a predetermined angle of elevation), such an image as shown in FIG.9B will be generated. Moreover, if the virtual camera VC is furtherrotated about the X-axis to change the relationship between the VC andthe model object MOB to such a positional relationship as shown in FIG.10A (or a positional relationship in which the virtual camera VC looksdown at MOB from just above), such an image as shown in FIG. 10B will begenerated.

In such a manner, according to this embodiment, even if the virtualcamera VC is not only rotated about the Y-axis but also about the X-axis(that is, even when the virtual camera VC looks down at the model objectMOB from above), the display surfaces of the part objects POB1 and POB2will always be directed toward the virtual camera VC. And, the objectparts POB1 and POB2 will hide the column-shaped part object COBrepresenting the trunk. Therefore, this embodiment can represent thebranches as if they are three dimensional objects without opening andalso generate a realistic image in which the branches can be viewed asif they extend around the trunk in all directions. Moreover, forexample, in an airplane game wherein a moving object (airplane or thelike) flies over a tree looking down at the ground, a more natural andconsistent image can be generated.

Furthermore, according to this embodiment, the positional relationshipbetween the part objects POB1 and POB2 (or the positional relationshiptherebetween in the direction of depth in the camera coordinate system)can smoothly be inverted by effectively using the hidden surface removalfunction of the Z-buffer method, as shown by C1 in FIG. 9B and by D1 inFIG. 10B. Therefore, an image in which a player does not feelunnaturalness can be generated.

The number of part objects representing branches is not limited to two,but may be increased to three or more. Alternatively, only a single partobject may be used. For example, FIGS. 11A, 11B, 12A and 12B illustratemodel objects MOB each of which comprises a number (e.g., ten) of partobjects. When the number of part objects increases in such a manner, thenumber of primitive faces also increases. However, it may generate animproved three-dimensional image of tree.

FIG. 13 illustrates a final image which is obtained by mapping a treetexture on part objects. In this case, it is desirable that the mappedtexture is one that can set an alpha-value (transparency ortranslucency) on each of the texels.

2.3. Spacing Between Arranged Part Objects

It is desirable that the spacing between adjacent part objects(branches) forming a model object (tree) is set as follows. For example,FIG. 14 shows adjacent part objects POB1, POB2 (first and second partobjects) included in a model object MOB.

Even if the virtual camera VC rotates 360 degrees about a givencoordinate axis (Y-axis, X-axis or the like), as shown at E1 to E8 inFIG. 14, the part objects POB1, POB2 intersect each other or the partobjects POB1, POB2 are arranged with such a spacing that they overlapeach other in a view image viewed from the virtual camera VC. Such aspacing may be realized, for example, by arranging the part objectsPOB1, POB2 so that, if it is assumed that the length of a generatingline extending from one projecting portion (vertex) PV1 in the partobject POB1 to the peripheral edge of the same (see E1 in FIG. 14), theprojecting portion PV2 of the object part POB2 is positioned within acircle having a radius L (or twice L) measured from the projectingportion PV1.

For example, at E2 and E6 in FIG. 14, the adjacent part objects POB1,POB2 intersect each other. That is to say, there is created such anintersection boarder line as shown at C1 in FIG. 9B. On the other hand,at E1, E3, E4, E5, E7 and E8 in FIG. 14, the part objects POB1, POB2overlap each other in the view image viewed from the virtual camera VC.That is to say, as shown at D1 in FIG. 10B, the part objects POB1, POB2are arranged so that the part object POB1 is located forward of theother part object POB2 in the depth direction. And, the part objectsPOB1, POB2 overlap each other in the view image of the virtual camera VCshown in FIG. 10B.

If the part objects POB1, POB2 are arranged in such a manner, there willnot be created a clearance between the part objects POB1, POB2 as viewedby the virtual camera VC. Therefore, the column-shaped part object COBrepresenting the trunk of the tree can be hidden by the part objectsPOB1, POB2. Thus, a more natural and realistic image can be generated.

Although the two part objects (branches) are shown in FIG. 14, three ormore part objects may be used under the same concept.

2.4. Z Texture

In this embodiment, the virtual shape of a part object POB may berepresented by mapping a Z texture in which an offset Z-value (changedZ-value or corrected Z-value) is set to each texel onto the part objectPOB.

FIG. 15A illustrates the principle of Z-texture-mapping technique. InFIG. 15A, an object OB (which is, in a narrow sense, a polygon: The sameshall apply hereinafter) has vertexes, on each of which texturecoordinates (U, V) used to read the Z texture are set.

According to the conventional texture mapping, a colored “pattern”stored in the texture storage section 178 of FIG. 1 will be applied tothe object OB when it is to be drawn. On the contrary, theZ-texture-mapping causes offset Z-values to be subjected to addition (orsubtraction) so that a “pattern” of Z-value is applied to the region ofthe Z buffer 176 corresponding to the object OB.

For example, at F1 in FIG. 15A, a Z-value corresponding to the object OB(which is shown by “1” in FIG. 15A) is written into the Z buffer 176 bydrawing the object OB into drawing buffer 174.

On the other hand, as shown at F2 in FIG. 15A, an offset Z-value is seton each of the texels in the texture storage section 178 (Z-texturespace). The offset Z-value is then read out of the texture storagesection 178, based on the texture coordinate (U, V) set on each vertexin the object OB.

The offset Z-value read out at F2 is then added to or subtracted fromthe Z-value (or original Z-value in the object OB) in the Z buffer 176shown at F1, as shown at F3. Thus, as shown at F4, a new Z-value(Z-plane) will be generated by adding or subtracting the offset Z-valueto or from the original Z-value in the object OB. The hidden surfaceremoval process (positional-relationship judgment process based theZ-value) is then carried out on the object OB (polygon), based on thenew Z-value obtained by the addition or subtraction of the offsetZ-value at F4.

For example, if the Z-texture-mapping is not used, the intersectionboundary line between the part objects POB1, POB2 becomes a straightline as shown at F5. On the contrary, if the Z-texture-mapping is used,the intersection boundary line between POB1 and POB2 can delicately bewaved as shown at F6 in FIG. 15C. In this embodiment, thisZ-texture-mapping technique is used to represent the fine bump shapes ofthe part object or to represent the entire projection shape of the partobject itself.

For example, FIG. 16A shows a projection-shape-object having aprojecting portion formed on the display surface in which an image is tobe drawn, this object being used as a part object POB. The Z texture forsetting the bump shapes on the display surface of POB by pixel is thenmapped on this projection-shaped part object POB. Thus, virtual bumpshapes VZS are set on the part object POB. That is to say, virtualZ-values for providing bump shapes in the direction of sight line bypixel are set in that region of the Z buffer 176 corresponding to thepart object POB.

The hidden surface removal process on the part object POB (or the hiddensurface removal process between the part object POB and the other partobject) is then carried out, based on this virtual Z-value (shape VZS).Therefore, the intersection boundary line between POB1, POB2 can moredelicately be waved as shown at C1 in FIG. 9B. As a result, even if theposition or rotation angle of the virtual camera VC is changed, thepositional relationship between POB1, POB2 can delicately be inverted bypixel. Consequently, a more natural and realistic image can begenerated.

In addition, a flat plate-shaped object (polygon) may be used as a partobject POB, and a Z texture used for forming a virtual projection shapeVZS (which is similar to the projection shape in POB shown in FIG. 16A)on the display surface of the POB may be mapped on the POB, as shown inFIG. 16B. Thus, a simply shaped part can be used as the part object POB,resulting in further decrease of the number of primitive faces.

Moreover, a Z texture used to set fine bump shapes by pixel in additionto a relatively large projection shape may be mapped on the flatplate-shaped part object POB, as shown in FIG. 16C. Thus, a morerealistic image can be generated with less primitive faces.

The technique of FIG. 16A uses more primitive faces than those of thetechniques shown in FIGS. 16B and 16C. In the shading process using alight source, however, a realistically shaded image can be generatedsince the projection shape of the part object POB can be reflected. If anormal-line texture in which the normal-line information is set on eachtexel is used, however, the techniques of FIGS. 16B and 16C can alsoperform the realistic representation for shading.

3. Processing of this Embodiment

The details of a process according to this embodiment will be describedin connection with a flow chart of FIG. 17.

First of all, the position (CX, CY, CZ) of the virtual camera VC and therotation angles (θX, θY, θZ) thereof about the respective coordinateaxes are set (step S1). For example, if the virtual camera VC follows amoving object such as airplane or motorcar, the position and rotationangle of the virtual camera VC can be set based on the position androtation angle of the moving object. Moreover, if the virtual camera VCmoves over a predetermined orbit, the position and rotation angle of thevirtual camera can be set based on the virtual camera data.

Next, a variable i is set to 1 (step S2). Object data for the i-thbranch part object POBi are then read out, and the rotation angle of thePOBi is transformed into the world coordinate system so that the POBi isdirected toward the virtual camera VC, based on the rotation angles (θX,θY, θZ) of the VC (step S3). Thus, such a rotation of the part object asshown in FIGS. 5A, 5B, 8A and 8B can be realized. FIG. 18 shows anexample of object data. This object data comprise positions Xi, Yi andZi of each branch part object POBi, rotation angles θXi, θYi, θZithereof and object numbers thereof in the local coordinate system.

The position of the branch part object POBi (or position included in theobject data) is then transformed into the world coordinate system (stepS4). The camera coordinate (viewpoint coordinate) transformation andperspective transformation are then carried out on the branch partobject POBi. The branch part object POBi is then drawn in the drawingbuffer while performing the hidden surface removal with the use of the Zbuffer (step S5). The variable i is incremented by “1” (step S6).

Next, it is judged whether or not the variable i is larger than N (thenumber of branch part objects) (step S7). If i≦N, the procedure returnsto the step S3. On the other hand, if i>N, the world coordinatetransformation, camera coordinate transformation and perspectivetransformation are carried out on the trunk (column-shaped) part objectCOB. The trunk part object COB is then drawn in the drawing buffer whileperforming the hidden surface removal with the use of the Z buffer (stepS8). Thus, such view images as shown in FIGS. 6B, 7B and the like willbe generated.

Although FIG. 17 describes that the trunk part object is drawn after thebranch part object has been drawn, the branch part object may be drawnafter the trunk part object has been drawn.

4. Hardware Configuration

FIG. 19 illustrates a hardware configuration by which this embodimentcan be realized.

A main processor 900 operates to execute various processing such as gameprocessing, image processing, sound processing and other processingaccording to a program stored in a CD (information storage medium) 982,a program transferred through a communication interface 990 or a programstored in a ROM 950.

A co-processor 902 is to assist the processing of the main processor 900and has a sum of product circuit or a divider which can performhigh-speed parallel calculation to execute a matrix (or vector)calculation at high speed. For example, if a physical simulation forcausing an object to move or act (motion) requires the matrixcalculation or the like, the program running on the main processor 900instructs (or asks) that processing to the co-processor 902.

A geometry processor 904 is to perform geometry processing such ascoordinate transformation, perspective transformation, light sourcecalculation, curve formation or the like and has a sum of productcircuit or a divider which can perform high-speed parallel calculationto execute a matrix (or vector) calculation at high speed. For example,for the coordinate transformation, perspective transformation and lightsource calculation, the program running on the main processor 900instructs that processing to the geometry processor 904.

A data expanding processor 906 is to perform a process for decoding orexpanding image and sound compressed data or a process for acceleratingthe decoding process in the main processor 900. Thus, animation imagescompressed by MPEG method or the like can be displayed in the opening,intermission, ending or game scene.

A drawing processor 910 is to draw or render an object constructed byprimitive faces such as polygons or curved surfaces at high speed. Ondrawing of an object, the main processor 900 uses the function of a DMAcontroller 970 to deliver the drawing data to the drawing processor 910and at the same time, transfers the texture to a texture storage section924, if necessary. Then, the drawing processor 910 draws the object in aframe buffer 922 while performing the hidden surface removal using the Zbuffer and the like, based on the drawing data and texture. The drawingprocessor 910 can also perform a-blending (or translucency processing),depth cueing, mip-mapping, fog processing, bi-linear filtering,tri-linear filtering, anti-aliasing, shading and the like. As the imagefor one frame has been written into the frame buffer 922, that image isthen displayed on a display 912.

A sound processor 930 includes a multi-channel ADPCM sound source andthe like and generates and outputs game sounds such as BGMs, soundeffects, voices through a speaker 932. Operation data from a gamecontroller 942 and save data from a memory card 944 and personal dataare inputted through a serial interface 940.

A ROM 950 has stored a system program and the like. In arcade gamesystems, a ROM 950 functions as an information storage medium forstoring various programs. The ROM 950 may be replaced by any hard disk.A RAM 960 serves as working area for various processors. A DMAcontroller 970 controls DMA transfer between the processors and thememories (RAM, VRAM, ROM and the like). A CD drive 980 works to access aCD 982 in which programs, image data or sound data have been stored.

A communication interface 990 performs data transfer between the presentsystem and an external through a network. The network connected to thecommunication interface 990 includes a telecommunication line (analogphone line or ISDN) and a high-speed serial bus.

All the sections (means) of this embodiment may be executed only throughhardware or only through a program which has been stored in aninformation storage medium or which is distributed through thecommunication interface. Alternatively, they may be executed throughboth the hardware and program.

If the sections of this embodiment are to be realized through both thehardware and program, the information storage medium has stored aprogram for causing the hardware (or computer) to function as therespective sections in this embodiment. More particularly, theaforementioned program instructs the processing to the processors 902,904, 906, 910, 930, and the like, all of which are hardware, anddelivers the data to them, if necessary. And, each of the processors902, 904, 906, 910, 930, and the like will realize the processing of thecorresponding one of the functional sections of the present invention,based on the instructions and delivered data.

FIG. 20A illustrates an arcade game system to which this embodiment isapplied. Players enjoy a game by operating control sections 1102 whileviewing a game scene displayed on a display 1100. Processors, memoriesand the like are mounted on a system board 1106 built in the gamesystem. The program (data) for realizing all the sections of thisembodiment has been stored in a memory 1108 which is an informationstorage medium on the system board 1106. This program is referred to asstored program.

FIG. 20B illustrates a home game system to which this embodiment isapplied. In this case, the aforementioned stored program (or storedinformation) have been stored in a CD1206 which is a removableinformation storage medium on the main system body or in memory cards1208, 1209.

FIG. 20C illustrates a system to which this embodiment is applied, thissystem including a host device 1300 and terminals 1304-1 to 1304-n(gaming machines or cellular phones) which are connected to this hostdevice 1300 through a network 1302. In this case, the aforementionedstored program has been stored in the information storage medium 1306(hard disk, a magnetic tape device or the like) in the host device 1300.Moreover, the processing for each section of this embodiment may berealized by the host device and terminals in a distributed manner.

However, the present invention is not limited to the aforementionedembodiment, but may be carried out in any one of various other forms.

For example, the terms (e.g., tree, branch, trunk, polygon, primitiveface, plant, and the like) referred to in a passage of the specificationor drawing as broader or synonymous terms (e.g., model object, partobject, column-shaped part object, object, tree and so on) may bereplaced by such broader or synonymous terms similarly in anotherpassage of the specification or drawing.

Part of requirements of a claim of the present invention could beomitted from a dependent claim which depends on that claim. Moreover,part of requirements of any independent claim of the present inventioncould be made to depend on any other independent claim.

Moreover, the rotation of part object is not limited to that describedin connection with this embodiment, but may be carried out through anyone of various other processes.

The present invention can be applied to various games (such as fightinggames, competition games, shooting games, robot fighting games, sportsgames, role playing games and the like).

Moreover, the present invention can be applied to various imagegenerating systems (or game systems) such as arcade game systems, homegame systems, large-scale attraction system in which a number of playersplay a game, simulators, multimedia terminals, system boards forgenerating game images and so on.

The specification discloses the following matters about theconfiguration of the embodiments described above.

According to one embodiment of the present invention, there is providedan image generation method for generating an image comprising:

storing object data in an object data storage section;

disposing a plurality of objects in an object space, based on the objectdata stored in the object data storage section;

controlling a virtual camera; and

generating an image viewed from the virtual camera in the object spacewhile performing hidden surface removal processing,

the method further comprising:

disposing in the object space a model object including a plurality ofpart objects each of which has a projection shape, each of the partobjects having a projecting portion formed on a display surface on whichan image is drawn; and

rotating each of the part objects based on rotational information of thevirtual camera so that the display surface of each of the part objectsis directed toward the virtual camera.

According to this embodiment, the model object comprisesprojection-shaped part objects each of which has a projecting portion (avertex and ridgelines) formed on the side of the display surface (frontsurface). When the virtual camera rotates, the part objects are rotatedwhile the display surfaces (or projecting portions) thereof are directedtoward the virtual camera. Thus, the image of the display surface of thepart object will have its maximum area in the view image which is viewedfrom the virtual camera. Consequently, a realistic image can begenerated with less primitive faces. When the virtual camera rotates (orwhen the orientation of the virtual camera is changed), furthermore, thepositional relationship between the adjacent part objects (in the depthdirection) will gradually be inverted. As a result, a more natural imagecan be generated.

The image generation method may further comprise:

storing a Z texture in which an offset value of a Z-value is set on eachtexel in a texture storage section; and

mapping the Z texture stored in the texture storage section on each ofthe objects, and

the method may further comprise:

mapping on each of the part objects the Z texture for setting bumpshapes on the display surface by pixel unit.

In such a manner, the bump shapes (virtual Z-values) finer than theprojecting portions inherent in the part objects can be virtually set onthe display surfaces of the part objects, resulting in representation ofa delicately waved intersection boundary line.

According to another embodiment of the present invention, there isprovided an image generation method for generating an image comprising:

storing object data in an object data storage section;

disposing a plurality of objects in an object space, based on the objectdata stored in the object data storage section;

storing a Z texture in which an offset value of a Z-value is set on eachtexel in a texture storage section;

mapping the Z texture stored in the texture storage section on each ofthe objects;

controlling a virtual camera; and

generating an image viewed from the virtual camera in the object spacewhile performing hidden surface removal processing,

the method further comprising:

disposing a model object having a plurality of part objects in theobject space;

rotating each of the part objects based on rotational information of thevirtual camera so that a display surface of each of the part objects onwhich an image is drawn is directed toward the virtual camera; and

mapping on each of the part objects the Z texture for forming a virtualprojection shape on the display surface of the part objects.

According to this embodiment, a part object is rotated so that thedisplay surface thereof is directed toward the virtual camera, and atthe same time a Z texture for setting a virtual projection shape(virtual Z-value) on the display surface of the part object is mapped onthe part object. Thus, the image of the display surface of the partobject will have its maximum area in the view image which is viewed fromthe virtual camera. Consequently, a realistic image can be generatedwith less number of primitive faces. Moreover, the positionalrelationship between the adjacent part objects (in the depth direction)will gradually be inverted using the virtual Z-values set by the Ztexture. As a result, a more natural image can be generated.

The image generation method may further comprise:

disposing a column-shaped part object included in the model object so asto stand along a Y-axis, the Y-axis being an axis along a verticaldirection;

disposing each of the part objects at a position apart from a centralaxis of the column-shaped part object; and

rotating each of the part objects about the Y-axis so that the displaysurface of each of the part objects is directed toward the virtualcamera when the virtual camera rotates about the Y-axis while beingdirected toward the column-shaped part object.

Thus, even if the virtual camera is panned about the Y-axis while beingdirected toward the model object, an image viewed as if the part objectsexist over the column-shaped part object in all directions can begenerated.

The image generation method may further comprise:

disposing a column-shaped part object included in the model object so asto stand along a Y-axis, the Y-axis being an axis along a verticaldirection;

disposing each of the part objects at a position apart from a centralaxis of the column-shaped part object; and

rotating each of the part objects about an X-axis which is perpendicularto the Y-axis so that the display surface of each of the part objects isdirected toward the virtual camera when the virtual camera rotates aboutthe X-axis while being directed toward the column-shaped part object.

Thus, even if the virtual camera is panned about the X-axis while beingdirected toward the model object, an image viewed as if the part objectsexist over the column-shaped part object in all directions can begenerated.

In the image generation method, the part objects may include a firstpart object and a second part object, the first and second part objectsbeing adjacent each other, and

the method may further comprise:

disposing the first and second part objects so as to overlap each otherin a view image viewed from the virtual camera or intersect each othereven when the virtual camera rotates 360 degrees about a givencoordinate axis.

Thus, even if the virtual camera rotates 360 degrees about a givencoordinate axis (Y-axis, X-axis or the like), a gap can be preventedfrom being created between the adjacent first and second part objects inthe view image viewed from the virtual camera. As a result, a morenatural and realistic image can be generated.

1. An image generation method for generating an image, the methodcomprising: storing object data in an object data storage section;disposing a plurality of objects in an object space, based on the objectdata stored in the object data storage section; controlling a virtualcamera; generating an image viewed from the virtual camera in the objectspace while performing hidden surface removal processing; disposing inthe object space, a model object including a plurality of part objectseach of which has a projection shape, a three-dimensional projectingportion and a display surface on which an image is drawn, the projectingportion extending at least in a direction perpendicular to the displaysurface, wherein a central part object included in the model objectstands along a vertical central axis, and the rest of the part objectsare positioned apart from the central axis of the central part object,the central axis extending through a center of the central part object;and rotating each of the part objects orbitally about the central axis,with a processor, based on rotational information of the virtual cameraso that the display surface of each of the part objects is directedtoward the virtual camera when the virtual camera orbitally rotatesabout the central axis while being directed toward the central partobject.
 2. The image generation method as defined in claim 1, the methodfurther comprising: storing a Z texture in which an offset value of aZ-value is set on each texel in a texture storage section; mapping the Ztexture stored in the texture storage section on each of the objects;and mapping on each of the part objects the Z texture for setting bumpshapes on the display surface by pixel unit.
 3. The image generationmethod as defined in claim 1, wherein the part objects include a firstpart object and a second part object, the first and second part objectsbeing adjacent each other, the method further comprising: disposing thefirst and second part objects so as to overlap each other in a viewimage viewed from the virtual camera or intersect each other even whenthe virtual camera rotates 360 degrees about a given coordinate axis. 4.The image generation method as defined in claim 1, wherein the centralpart object is columnar shaped.
 5. An image generation method forgenerating an image comprising: storing object data in an object datastorage section; disposing a plurality of objects in an object space,based on the object data stored in the object data storage section;generating the plurality of objects as three-dimensional objectsincluding Z-texture values; storing a Z texture in which an offset valueof a Z-value is set on each texel in a texture storage section; mappingthe Z texture stored in the texture storage section on each of theobjects; controlling a virtual camera; generating an image viewed fromthe virtual camera in the object space while performing hidden surfaceremoval processing; disposing a model object having a plurality of partobjects in the object space, the part objects each having a displaysurface and being three-dimensional objects extending at least in adirection perpendicular to the display surface, wherein a central partobject included in the model object stands along a Y-axis, the Y-axisbeing an axis along a vertical direction, and the rest of the partobjects are positioned apart from a central axis of the column-shapedpart object; rotating each of the part objects about the Y-axis, with aprocessor, based on rotational information of the virtual camera so thata display surface of each of the part objects on which an image is drawnis directed toward the virtual camera when the virtual camera rotatesabout the Y-axis while being directed toward the central part object;and mapping on each of the part objects the Z texture for forming avirtual projection shape on the display surface of the part objects bypixel unit.
 6. The image generation method as defined in claim 5,wherein the part objects include a first part object and a second partobject, the first and second part objects being adjacent each other, themethod further comprising: disposing the first and second part objectsso as to overlap each other in a view image viewed from the virtualcamera or intersect each other even when the virtual camera rotates 360degrees about a given coordinate axis.
 7. At least one of an opticaldisc, magnetic optical disc, magnetic disc, hard disc, magnetic tape andmemory embedded with a program for generating an image, the programcausing a computer to implement processing of: storing object data in anobject data storage section; disposing a plurality of objects in anobject space, based on the object data stored in the object data storagesection; controlling a virtual camera; generating an image viewed fromthe virtual camera in the object space while performing hidden surfaceremoval processing; disposing in the object space, a model objectincluding a plurality of part objects each of which has a projectionshape, a three-dimensional projecting portion and a display surface onwhich an image is drawn, the projecting portion extending at least in adirection perpendicular to the display surface, wherein a central partobject included in the model object stands along a vertical centralaxis, and the rest of the part objects are positioned apart from thecentral axis of the central part object, the central axis extendingthrough a center of the central part object; and rotating each of thepart objects orbitally about the central axis based on rotationalinformation of the virtual camera so that the display surface of each ofthe part objects is directed toward the virtual camera when the virtualcamera orbitally rotates about the central axis while being directedtoward the central part object.
 8. The at least one of the optical disc,magnetic optical disc, magnetic disc, hard disc, magnetic tape andmemory as defined in claim 7, the program causing a computer toimplement processing of: storing a Z texture in which an offset value ofa Z-value is set on each texel in a texture storage section; mapping theZ texture stored in the texture storage section on each of the objects;and mapping on each of the part objects the Z texture for setting bumpshapes on the display surface by pixel unit.
 9. The at least one of theoptical disc, magnetic optical disc, magnetic disc, hard disc, magnetictape and memory embedded with the program as defined in claim 7, whereinthe part objects include a first part object and a second part object,the first and second part objects being adjacent each other, the programfurther causing a computer to implement processing of: disposing thefirst and second part objects so as to overlap each other in a viewimage viewed from the virtual camera or intersect each other even whenthe virtual camera rotates 360 degrees about a given coordinate axis.10. At least one of an optical disc, magnetic optical disc, magneticdisc, hard disc, magnetic tape and memory embedded with a program forgenerating an image, the program causing a computer to implementprocessing of: storing object data in an object data storage section;disposing a plurality of objects in an object space, based on the objectdata stored in the object data storage section; generating the pluralityof objects as three-dimensional objects including Z-texture values;storing a Z texture in which an offset value of a Z-value is set on eachtexel in a texture storage section; mapping the Z texture stored in thetexture storage section on each of the objects; controlling a virtualcamera; generating an image viewed from the virtual camera in the objectspace while performing hidden surface removal processing; disposing amodel object having a plurality of part objects in the object space, thepart objects each having a display surface and being three-dimensionalobjects extending at least in a direction perpendicular to the displaysurface, wherein a central part object included in the model objectstands along a Y-axis, the Y-axis being an axis along a verticaldirection, and the rest of the part objects are positioned apart from acentral axis of the central part object; rotating each of the partobjects about the Y-axis based on rotational information of the virtualcamera so that a display surface of each of the part objects on which animage is drawn is directed toward the virtual camera when the virtualcamera rotates about the Y-axis while being directed toward the centralpart object; and mapping on each of the part objects the Z texture forforming a virtual projection shape on the display surface of the partobjects by pixel unit.
 11. The at least one of the optical disc,magnetic optical disc, magnetic disc, hard disc, magnetic tape andmemory embedded with the program as defined in claim 10, wherein thepart objects include a first part object and a second part object, thefirst and second part objects being adjacent each other, the programfurther causing a computer to implement processing of: disposing thefirst and second part objects so as to overlap each other in a viewimage viewed from the virtual camera or intersect each other even whenthe virtual camera rotates 360 degrees about a given coordinate axis.12. An image generation method for generating an image, the methodcomprising: storing object data in an object data storage section;disposing a plurality of objects in an object space, based on the objectdata stored in the object data storage section; controlling a virtualcamera; generating an image viewed from the virtual camera in the objectspace while performing hidden surface removal processing; disposing inthe object space, a model object including a plurality of part objectseach of which has a projection shape, a three-dimensional projectingportion and a display surface on which an image is drawn, the projectingportion extending at least in a direction perpendicular to the displaysurface, wherein a central part object included in the model objectstands along a vertical central axis, and the rest of the part objectsare positioned apart from the central axis of the central part object,the central axis extending through a center of the central part object;and rotating, with a processor, each of the part objects orbitally aboutan X-axis, which passes orthogonally through the central axis andextends in a direction orthogonal to a direction of sight line from thevirtual camera, based on rotational information of the virtual camera sothat the display surface of each of the part objects is directed towardthe virtual camera when the virtual camera orbitally rotates about theX-axis while being directed toward the central part object.
 13. An imagegeneration method for generating an image comprising: storing objectdata in an object data storage section; disposing a plurality of objectsin an object space, based on the object data stored in the object datastorage section; generating the plurality of objects asthree-dimensional objects including Z-texture values; storing a Ztexture in which an offset value of a Z-value is set on each texel in atexture storage section; mapping the Z texture stored in the texturestorage section on each of the objects; controlling a virtual camera;generating an image viewed from the virtual camera in the object spacewhile performing hidden surface removal processing; disposing a modelobject having a plurality of part objects in the object space, the partobjects each having a display surface and being three-dimensionalobjects extending at least in a direction perpendicular to the displaysurface, wherein a central part object included in the model objectstands along a Y-axis, the Y-axis being an axis along a verticaldirection, and the rest of the part objects are positioned apart from acentral axis of the column-shaped part object; rotating, with aprocessor, each of the part objects about an X-axis which isperpendicular to the Y-axis, based on rotational information of thevirtual camera so that a display surface of each of the part objects onwhich an image is drawn is directed toward the virtual camera when thevirtual camera rotates about the X-axis, which is perpendicular to theY-axis while being directed toward the central part object; and mappingon each of the part objects the Z texture for forming a virtualprojection shape on the display surface of the part objects by pixelunit.
 14. At least one of an optical disc, magnetic optical disc,magnetic disc, hard disc, magnetic tape and memory embedded with aprogram for generating an image, the program causing a computer toimplement processing of: storing object data in an object data storagesection; disposing a plurality of objects in an object space, based onthe object data stored in the object data storage section; controlling avirtual camera; generating an image viewed from the virtual camera inthe object space while performing hidden surface removal processing;disposing in the object space, a model object including a plurality ofpart objects each of which has a projection shape, a three-dimensionalprojecting portion and a display surface on which an image is drawn, theprojecting portion extending at least in a direction perpendicular tothe display surface, wherein a central part object included in the modelobject stands along a vertical central axis, and the rest of the partobjects are positioned apart from the central axis of the central partobject, the central axis extending through a center of the central partobject; and rotating each of the part objects orbitally about an X-axis,which passes orthogonally through the central axis and extends in adirection orthogonal to a direction of sight line from the virtualcamera, based on rotational information of the virtual camera so thatthe display surface of each of the part objects is directed toward thevirtual camera when the virtual camera orbitally rotates about theX-axis while being directed toward the central part object.
 15. At leastone of an optical disc, magnetic optical disc, magnetic disc, hard disc,magnetic tape and memory embedded with a program for generating animage, the program causing a computer to implement processing of:storing object data in an object data storage section; disposing aplurality of objects in an object space, based on the object data storedin the object data storage section; generating the plurality of objectsas three-dimensional objects including Z-texture values; storing a Ztexture in which an offset value of a Z-value is set on each texel in atexture storage section; mapping the Z texture stored in the texturestorage section on each of the objects; controlling a virtual camera;generating an image viewed from the virtual camera in the object spacewhile performing hidden surface removal processing; disposing a modelobject having a plurality of part objects in the object space, the partobjects each having a display surface and being three-dimensionalobjects extending at least in a direction perpendicular to the displaysurface, wherein a central part object included in the model objectstands along a Y-axis, the Y-axis being an axis along a verticaldirection, and the rest of the part objects are positioned apart from acentral axis of the column-shaped part object; rotating each of the partobjects about an X-axis, which is perpendicular to the Y-axis, based onrotational information of the virtual camera so that a display surfaceof each of the part objects on which an image is drawn is directedtoward the virtual camera when the virtual camera rotates about theX-axis while being directed toward the central part object; and mappingon each of the part objects the Z texture for forming a virtualprojection shape on the display surface of the part objects by pixelunit.